/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package aqu.controlador.CuentasPorPagar;

import aqu.bean.generico.BeanGenerico;
import aqu.persistencia.Dao.CuentasPorPagar.CxpEstadoFacturaManager;
import aqu.persistencia.Dao.CuentasPorPagar.CxpTipoContribuyenteManager;
import aqu.persistencia.entity.CxpEstadoFactura;
import aqu.persistencia.entity.CxpTipoContribuyente;
import aqu.persistencia.utilidad.MessagesController;
import com.icesoft.faces.component.ext.RowSelectorEvent;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.event.ActionEvent;

/**
 *
 * @author Verito Ramirez
 *         Victor Jaramillo
 */
@ManagedBean(name = "tipoContribuyenteController")
@ViewScoped
public class TipoContribuyenteController extends BeanGenerico {

    private CxpTipoContribuyente tipoContribuyente;
    private List<CxpTipoContribuyente> lista;
    private CxpTipoContribuyenteManager cxpTipoContribuyenteManager = new CxpTipoContribuyenteManager();
    private boolean panelvisible;

    public TipoContribuyenteController() {

        tipoContribuyente = new CxpTipoContribuyente();
        lista = cxpTipoContribuyenteManager.getList();
    }

    public CxpTipoContribuyenteManager getCxpTipoContribuyenteManager() {
        return cxpTipoContribuyenteManager;
    }

    public void setCxpTipoContribuyenteManager(CxpTipoContribuyenteManager cxpTipoContribuyenteManager) {
        this.cxpTipoContribuyenteManager = cxpTipoContribuyenteManager;
    }

    public List<CxpTipoContribuyente> getLista() {
        lista = cxpTipoContribuyenteManager.getList();
        return lista;
    }

    public void setLista(List<CxpTipoContribuyente> lista) {
        this.lista = lista;
    }

    public CxpTipoContribuyente getTipoContribuyente() {
        return tipoContribuyente;
    }

    public void setTipoContribuyente(CxpTipoContribuyente tipoContribuyente) {
        this.tipoContribuyente = tipoContribuyente;
    }

    
    public boolean isPanelvisible() {
        return panelvisible;
    }

    public void setPanelvisible(boolean panelvisible) {
        this.panelvisible = panelvisible;
    }

    public void llamarPanelvisible(ActionEvent event) {
        panelvisible = !panelvisible;
    }

    public void nuevo(ActionEvent actionEvent) {
        tipoContribuyente = new CxpTipoContribuyente();
    }

    public String eliminar() {
        try {
            CxpTipoContribuyente tipoContribuyenteTemp = (CxpTipoContribuyente) (tipoContribuyente);
            if (cxpTipoContribuyenteManager.delete(tipoContribuyenteTemp) == false) {
                llamarPanelvisible(null);
            }
        } catch (Exception e) {
            MessagesController.addInfo("Mensaje de error :", e.getMessage());
            llamarPanelvisible(null);
        }
        return "index";
    }

    public void insertar(ActionEvent actionEvent) {
        try {
            tipoContribuyente.setCxpCodigoTipCon(MessagesController.obtenerkeyautomaticosinceros("cxp_tipocontribuyente", "CXP_CODIGO_TIPCON"));
            if (cxpTipoContribuyenteManager.create(tipoContribuyente) == false) {
                llamarPanelvisible(null);
            }
            tipoContribuyente = new CxpTipoContribuyente();
        } catch (Exception e) {
            MessagesController.addInfo("Mensaje de error :", e.getMessage());
            llamarPanelvisible(null);
        }
    }

    public void modificar(ActionEvent actionEvent) {
        try {
            if (cxpTipoContribuyenteManager.update(tipoContribuyente) == false) {
                llamarPanelvisible(null);
            }
        } catch (Exception e) {
            MessagesController.addInfo("Mensaje de error :", e.getMessage());
            llamarPanelvisible(null);
        }
    }

    public void rowSelectionListener(RowSelectorEvent event) {
        tipoContribuyente = lista.get(event.getRow());
    }   
    
}